#ifndef SETTINGS_DIALOG_H
#define SETTINGS_DIALOG_H

#include "note.h"

class wxFontPickerCtrl;
class wxFontPickerEvent;
class wxColourPickerEvent;

//(*Headers(SettingsDialog)
#include <wx/dialog.h>
class wxPanel;
class wxColourPickerCtrl;
class wxCheckBox;
class wxTextCtrl;
class wxAuiNotebook;
class wxStaticLine;
class wxStaticText;
class wxFontPickerCtrl;
class wxSlider;
class wxAuiNotebookEvent;
class wxFlexGridSizer;
class wxBoxSizer;
class wxButton;
class wxStaticBoxSizer;
class wxChoice;
//*)

class SettingsDialog: public wxDialog
{
	public:

		SettingsDialog(wxWindow* parent);
		virtual ~SettingsDialog();

		//(*Declarations(SettingsDialog)
		wxCheckBox* style_italic;
		wxButton* reset_defaults;
		wxCheckBox* fg_color_enable;
		wxStaticText* StaticText2;
		wxColourPickerCtrl* bg_color_picker;
		wxCheckBox* bg_color_enable;
		wxStaticText* lang_desc_box;
		wxColourPickerCtrl* fg_color_picker;
		wxPanel* Panel1;
		wxStaticText* StaticText1;
		wxChoice* font_choice;
		wxStaticText* StaticText3;
		wxTextCtrl* text_example;
		wxSlider* scroll_speed;
		wxPanel* Panel3;
		wxStaticLine* StaticLine2;
		wxFontPickerCtrl* font_picker;
		wxCheckBox* style_underlined;
		wxStaticLine* StaticLine1;
		wxAuiNotebook* AuiNotebook1;
		wxCheckBox* style_bold;
		wxPanel* Panel2;
		wxStaticText* StaticText4;
		wxTextCtrl* lang_box;
		//*)

	protected:

		//(*Identifiers(SettingsDialog)
		static const long ID_STATICTEXT3;
		static const long ID_TEXTCTRL1;
		static const long ID_STATICTEXT4;
		static const long ID_STATICTEXT5;
		static const long ID_SCROLL_SPEED;
		static const long ID_PANEL1;
		static const long ID_STATICTEXT1;
		static const long ID_STATICLINE1;
		static const long ID_STATICTEXT2;
		static const long ID_FONTPICKERCTRL1;
		static const long ID_UNDERLINED;
		static const long ID_STATICLINE2;
		static const long ID_CHECKBOX2;
		static const long ID_CHECKBOX3;
		static const long ID_COLOURPICKERCTRL1;
		static const long ID_PANEL2;
		static const long ID_PANEL3;
		static const long ID_AUINOTEBOOK1;
		static const long ID_RESET_DEFAULTS;
		//*)

	private:

		//(*Handlers(SettingsDialog)
		void OnOK(wxCommandEvent& event);
		void OnCancel(wxCommandEvent& event);
		void OnFontChoice(wxCommandEvent& event);
		void OnFontPicker(wxFontPickerEvent& event);
		void OnColorPicker(wxColourPickerEvent& event);
		void OnFgColorPicker(wxColourPickerEvent& event);
		void OnFgColorEnable(wxCommandEvent& event);
		void OnBold(wxCommandEvent& event);
		void OnBgColorEnable(wxCommandEvent& event);
		void Onbg_color_pickerColourChanged(wxColourPickerEvent& event);
		void OnBgColorPicker(wxColourPickerEvent& event);
		void OnItalic(wxCommandEvent& event);
		void OnUnderline(wxCommandEvent& event);
		void OnCheckBox1Click(wxCommandEvent& event);
		void OnStrike(wxCommandEvent& event);
		void OnLanguage(wxCommandEvent& event);
		void OnResetDefaults(wxCommandEvent& event);
		void Onscroll_speedCmdScroll(wxScrollEvent& event);
		void OnScrollSpeed(wxScrollEvent& event);
		void OnPanel3Paint(wxPaintEvent& event);
		//*)

		Note example_note;
		void UpdateFont(const wxFont& font);
		void UpdateExample();
		void LoadFromConfig();

		DECLARE_EVENT_TABLE()
};

bool ShowSettingsDialog(wxWindow* parent=0);

#endif
